html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

button,
input,
select {
  margin: 0;
}

html {
  box-sizing: border-box;
  line-height: 1.15;

  /* 1 */
  -webkit-text-size-adjust: 100%;

  /* 2 */
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

img,
video {
  max-width: 100%;
  height: auto;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

/* Sections
    ========================================================================== */

/**
  * Remove the margin in all browsers.
  */
body {
  margin: 0;
}

/**
  * Render the `main` element consistently in IE.
  */
main {
  display: block;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Firefox, and Safari.
  */
h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

/* Grouping content
    ========================================================================== */

/**
  * 1. Add the correct box sizing in Firefox.
  * 2. Show the overflow in Edge and IE.
  */
hr {
  overflow: visible;

  /* 2 */
  height: 0;

  /* 1 */
  box-sizing: content-box;

  /* 1 */
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
pre {
  font-size: 1em;

  /* 2 */
  font-family: monospace;

  /* 1 */
}

/* Text-level semantics
    ========================================================================== */

/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * 1. Remove the bottom border in Chrome 57-
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
  */
abbr[title] {
  border-bottom: none;

  /* 1 */
  text-decoration: underline;

  /* 2 */
  text-decoration: underline dotted;

  /* 2 */
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-size: 1em;

  /* 2 */
  font-family: monospace;

  /* 1 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/**
  * Prevent `sub` and `sup` elements from affecting the line height in
  * all browsers.
  */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
    ========================================================================== */

/**
  * Remove the border on images inside links in IE 10.
  */
img {
  border-style: none;
}

/* Forms
    ========================================================================== */

/**
  * 1. Change the font styles in all browsers.
  * 2. Remove the margin in Firefox and Safari.
  */
button,
input,
optgroup,
select,
textarea {
  margin: 0;

  /* 2 */
  font-size: 100%;

  /* 1 */
  font-family: inherit;

  /* 1 */
  line-height: 1.15;

  /* 1 */
}

/**
  * Show the overflow in IE.
  * 1. Show the overflow in Edge.
  */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
  * Remove the inheritance of text transform in Edge, Firefox, and IE.
  * 1. Remove the inheritance of text transform in Firefox.
  */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
  * Correct the inability to style clickable types in iOS and Safari.
  */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
  * Remove the inner border and padding in Firefox.
  */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
  * Restore the focus styles unset by the previous rule.
  */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Correct the padding in Firefox.
  */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
  * 1. Correct the text wrapping in Edge and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  * 3. Remove the padding so developers are not caught out when they zero out
  *    `fieldset` elements in all browsers.
  */
legend {
  display: table;

  /* 1 */
  padding: 0;

  /* 3 */
  max-width: 100%;

  /* 1 */
  white-space: normal;

  /* 1 */
  color: inherit;

  /* 2 */
  box-sizing: border-box;

  /* 1 */
}

/**
  * Add the correct vertical alignment in Chrome, Firefox, and Opera.
  */
progress {
  vertical-align: baseline;
}

/**
  * Remove the default vertical scrollbar in IE 10+.
  */
textarea {
  overflow: auto;
}

/**
  * 1. Add the correct box sizing in IE 10.
  * 2. Remove the padding in IE 10.
  */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;

  /* 1 */
  padding: 0;

  /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Chrome.
  */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
  * 1. Correct the odd appearance in Chrome and Safari.
  * 2. Correct the outline style in Safari.
  */
[type="search"] {
  -webkit-appearance: textfield;

  /* 1 */
  outline-offset: -2px;

  /* 2 */
}

/**
  * Remove the inner padding in Chrome and Safari on macOS.
  */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style clickable types in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button;

  /* 1 */
  font: inherit;

  /* 2 */
}

/* Interactive
    ========================================================================== */

/*
  * Add the correct display in Edge, IE 10+, and Firefox.
  */
details {
  display: block;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Misc
    ========================================================================== */

/**
  * Add the correct display in IE 10+.
  */
template {
  display: none;
}

/**
  * Add the correct display in IE 10.
  */
[hidden] {
  display: none;
}

/* 自定义 element 暗黑模式样式 */
html.dark {
  --geeker-bg-color: #141414;
  --geeker-main-bg-color: #0d0d0d;
  --geeker-border-light: 1px solid #4c4c4d;
  --light-color: #fff;
  --light-bg-color: #fff;
  --el-card-bg-color: #0d0d0d;
  --el-fill-color-blank: #0d0d0d;
  --w-e-toolbar-color: #595959;
  --w-e-toolbar-bg-color: #eee;
  --w-e-textarea-bg-color: #141414;
  --w-e-textarea-color: #eee;
}

html.dark .login-container {
  background-color: var(--el-fill-color-extra-light) !important;
}

html.dark .login-container .login-box {
  background-color: var(--el-mask-color) !important;
}

html.dark .login-container .login-box .login-form {
  background-color: var(--el-bg-color) !important;
  box-shadow: 5px 5px 15px rgb(161 161 161 / 20%) !important;
}

html.dark .login-container .login-box .login-form .logo-text {
  color: var(--el-text-color-primary) !important;
}

html.dark .overview {
  color: var(--light-color);
}

html.dark .dashboard .el-card {
  color: #fff;
}

html.dark .main-header .header-left {
  color: var(--light-color);
}

html.dark .main-header .header-left .bread-crumb {
  --el-text-color-regular: #fff;

  color: var(--light-color) !important;
}

html.dark ::-webkit-scrollbar {
  background-color: var(--el-scrollbar-bg-color) !important;
}

html.dark ::-webkit-scrollbar-thumb {
  background-color: var(--el-border-color-darker) !important;
}

html.dark .el-menu,
html.dark .el-sub-menu,
html.dark .el-menu-item,
html.dark .el-sub-menu__title {
  background-color: var(--geeker-bg-color) !important;
}

html.dark .el-menu:not(.is-active),
html.dark .el-sub-menu:not(.is-active),
html.dark .el-menu-item:not(.is-active),
html.dark .el-sub-menu__title:not(.is-active) {
  color: #bdbdc0 !important;
}

html.dark .el-menu.is-active,
html.dark .el-sub-menu.is-active,
html.dark .el-menu-item.is-active,
html.dark .el-sub-menu__title.is-active {
  color: #fff !important;
  background-color: #000 !important;
}

html.dark .el-menu-item:not(.is-active):hover {
  background-color: var(--geeker-main-bg-color) !important;
}

html.dark .aside-split {
  background-color: var(--geeker-bg-color) !important;
  border-right: var(--geeker-border-light) !important;
}

html.dark .aside-split .logo {
  border-bottom: var(--geeker-border-light) !important;
}

html.dark .el-container .el-aside {
  background-color: var(--geeker-bg-color) !important;
  border-right: var(--geeker-border-light) !important;
}

html.dark .el-container .el-aside .logo {
  border-bottom: var(--geeker-border-light) !important;
}

html.dark .el-container .not-aside {
  border-right: none !important;
}

html.dark .el-container .el-header {
  background-color: var(--geeker-bg-color) !important;
  border-bottom-color: var(--el-border-color-light) !important;
}

html.dark .el-container .el-main {
  background-color: var(--geeker-main-bg-color) !important;
}

html.dark .el-container .el-main .card {
  background-color: var(--geeker-bg-color) !important;
}

html.dark .el-container .el-tabs {
  background-color: var(--geeker-bg-color) !important;
}

html.dark .el-container .el-footer .footer {
  background-color: var(--geeker-bg-color) !important;
  border-top-color: var(--el-border-color-light) !important;
}

html.dark .el-container .el-footer .footer a {
  color: var(--el-text-color-regular) !important;
}

html.dark #driver-highlighted-element-stage {
  background-color: var(--el-color-info-light-5) !important;
}

a,
body,
center,
cite,
code,
dd,
del,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hr,
html,
img,
input,
label,
legend,
li,
mark,
ol,
p,
section,
span,
textarea,
time,
td,
th,
ul {
  box-sizing: border-box;
}

.text-center {
  text-align: center;
}

html,
body,
#app {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  font-size: 14px;
}

/* 解决 h1 标签在 webkit 内核浏览器中文字大小失效问题 */
:-webkit-any(article, aside, nav, section) h1 {
  font-size: 2em;
}

/* fade-transform */
.fade-transform-leave-active,
.fade-transform-enter-active {
  transition: all 0.2s;
}

.fade-transform-enter-from {
  opacity: 0;
  transition: all 0.2s;
  transform: translateY(60px);
}

.fade-transform-leave-to {
  opacity: 0;
  transition: all 0.2s;
  transform: translateY(-60px);
}

.el-message,
.el-notification {
  z-index: 99999 !important;
}

.el-alert {
  border: 1px solid;
}

.el-popup-parent--hidden {
  width: 100% !important;
}

.main-maximize .aside-split,
.main-maximize .el-aside,
.main-maximize .el-header,
.main-maximize .el-footer,
.main-maximize .tabs-box {
  display: none !important;
}

.card {
  overflow-x: hidden;
  padding: 20px;
  background-color: var(--el-fill-color-blank);
  border: 1px solid var(--el-border-color-light);
  border-radius: 4px;
  box-shadow: 0 0 12px rgb(0 0 0 / 5%);
  box-sizing: border-box;
}

.no-card .card {
  padding: 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.content-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.content-box .text {
  margin: 20px 0 30px;
  font-size: 23px;
  font-weight: bold;
  color: var(--el-text-color-regular);
}

.content-box .el-descriptions {
  padding: 40px 0 0;
  width: 100%;
}

.content-box .el-descriptions .el-descriptions__title {
  font-size: 18px;
}

.content-box .el-descriptions .el-descriptions__label {
  width: 200px;
}

.el-table--small .el-table__header th {
  height: 40px !important;
  font-size: 14px !important;
}

.el-table--small .el-table__row {
  height: 40px !important;
  font-size: 13px !important;
}

.el-table--large .el-table__header th {
  height: 50px !important;
  font-size: 16px !important;
}

.el-table--large .el-table__row {
  height: 50px !important;
  font-size: 15px !important;
}

.el-drawer .el-drawer__header {
  padding: 15px 20px 14px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--el-border-color-lighter);
}

.el-drawer .el-drawer__header span {
  font-size: 17px;
  color: var(--el-text-color-primary) !important;
}

.el-drawer .el-drawer__footer {
  border-top: 1px solid var(--el-border-color-lighter);
}

.el-drawer .el-select {
  width: 100%;
}

.el-drawer .drawer-multiColumn-form {
  display: flex;
  flex-wrap: wrap;
}

.el-drawer .drawer-multiColumn-form .el-form-item {
  width: 47%;
}

.el-drawer .drawer-multiColumn-form .el-form-item:nth-child(2n-1) {
  margin-right: 5%;
}

.table,
.table-box {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.table .table-search,
.table-box .table-search {
  padding: 18px 18px 0;
  margin-bottom: 10px;
}

.table .table-search .el-form .el-input,
.table-box .table-search .el-form .el-input,
.table .table-search .el-form .el-select,
.table-box .table-search .el-form .el-select,
.table .table-search .el-form .el-cascader,
.table-box .table-search .el-form .el-cascader,
.table .table-search .el-form .el-date-editor--timerange,
.table-box .table-search .el-form .el-date-editor--timerange,
.table .table-search .el-form .el-date-editor--datetimerange,
.table-box .table-search .el-form .el-date-editor--datetimerange,
.table .table-search .el-form .el-date-editor--daterange,
.table-box .table-search .el-form .el-date-editor--daterange {
  width: 100%;
}

.table .table-search .el-form .el-range-editor.el-input__wrapper,
.table-box .table-search .el-form .el-range-editor.el-input__wrapper {
  padding: 0 10px;
}

.table .table-search .el-form .el-select__tags,
.table-box .table-search .el-form .el-select__tags {
  overflow: hidden;
  white-space: nowrap;
}

.table .table-search .operation,
.table-box .table-search .operation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 18px;
}

.table .table-header .header-button-lf,
.table-box .table-header .header-button-lf {
  float: left;
}

.table .table-header .header-button-ri,
.table-box .table-header .header-button-ri {
  float: right;
}

.table .table-header .el-button,
.table-box .table-header .el-button {
  margin-bottom: 15px;
}

.table .el-table,
.table-box .el-table {
  flex: 1;
}

.table .el-table table,
.table-box .el-table table {
  width: 100%;
}

.table .el-table .el-table__header th,
.table-box .el-table .el-table__header th {
  height: 45px;
  font-size: 15px;
  font-weight: bold;
  color: var(--el-text-color-primary);
  background: var(--el-fill-color-light);
}

.table .el-table .el-table__row,
.table-box .el-table .el-table__row {
  height: 45px;
  font-size: 14px;
}

.table .el-table .el-table__header .el-table__cell > .cell,
.table-box .el-table .el-table__header .el-table__cell > .cell {
  white-space: nowrap;
}

.table .el-table .el-table__empty-block,
.table-box .el-table .el-table__empty-block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.table .el-table .el-table__empty-block .table-empty,
.table-box .el-table .el-table__empty-block .table-empty {
  line-height: 30px;
}

.table .el-table .table-image,
.table-box .el-table .table-image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.table .el-pagination,
.table-box .el-pagination {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.main-box {
  display: flex;
  width: 100%;
  height: 100%;
}

.main-box .table-box {
  width: calc(100% - 230px);
}

.el-dialog .el-dialog__header {
  padding: 15px 20px;
  margin: 0;
  border-bottom: 1px solid var(--el-border-color-lighter);
}

.el-dialog .el-dialog__header .el-dialog__title {
  font-size: 17px;
}

/* flex */
.flx-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flx-justify-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flx-align-center {
  display: flex;
  align-items: center;
}

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  overflow: hidden;
  height: 0;
  content: "";
}

/* 文字单行省略号 */
.sle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 文字多行省略号 */
.mle {
  display: box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* 文字多了自動換行 */
.break-word {
  word-break: break-all;
  word-wrap: break-word;
}

/* Breadcrumb */
.breadcrumb-enter-active,
.breadcrumb-leave-active {
  transition: all 0.2s ease;
}

.breadcrumb-enter-from,
.breadcrumb-leave-active {
  opacity: 0;
  transform: translateX(10px);
}

.breadcrumb-leave-active {
  position: absolute;
  z-index: -1;
}

/* scroll bar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background-color: #d3d3d3;
  border-radius: 20px;
  box-shadow: inset 0 0 0 white;
}

/* nprogress样式 */
#nprogress .bar {
  background: var(--el-color-primary) !important;
}

#nprogress .spinner-icon {
  border-top-color: var(--el-color-primary) !important;
  border-left-color: var(--el-color-primary) !important;
}

#nprogress .peg {
  box-shadow:
    0 0 10px var(--el-color-primary),
    0 0 5px var(--el-color-primary) !important;
}

.echarts-content {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  flex-direction: column;
}
